package com.example.viewpagermodule

import android.util.Log
import android.view.View
import android.view.ViewGroup
import androidx.viewpager.widget.PagerAdapter

private const val TAG = "MyPagerAdapter"
class MyPagerAdapter(val viewList:ArrayList<View>):PagerAdapter() {
	/**
	 * 展示View的个数
	 */
	override fun getCount(): Int {
//		TODO("Not yet implemented")
		return this.viewList.size
	}

	/**
	 * 看一下当前的视图是否和instantiateItem所返回的Key对应的View是否一致
	 */
	override fun isViewFromObject(view: View, `object`: Any): Boolean {
//		TODO("Not yet implemented")
		return view==`object`
	}

	/**
	 * 实例化View，并添加到容器中
	 * 返回一个与View对应的Key
	 */
	override fun instantiateItem(container: ViewGroup, position: Int): Any {
		Log.d(TAG, "加载：${position}")
		val view = viewList[position]
		container.addView(view)
		return view
	}

	/**
	 * 销毁条目
	 * object:如果返回的是View，可以直接移除这个Object
	 */
	override fun destroyItem(container: ViewGroup, position: Int, `object`: Any) {
//		super.destroyItem(container, position, `object`)
		//从容器中移除添加的条目
		Log.d(TAG, "销毁：${position}")
		container.removeView(`object` as View)
	}
}
